package com.justgame.project.cloud.common.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;

/**
 * 基础对象实体类
 *
 * @author Zwb
 */
@Data
public class BaseEntity implements Serializable {

    /**
     * 主键id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private String id;

    /**
     * 创建日期
     */
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @Null
    @JsonIgnore
    private Date createDate;

    /**
     * 更新日期
     */
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @Null
    @JsonIgnore
    private Date updateDate;

    /**
     * 创建人
     */
    @Null
    @JsonIgnore
    private String createUser;

    /**
     * 更新人
     */
    @Null
    @JsonIgnore
    private String updateUser;

    /**
     * 逻辑删除
     */
    @JsonIgnore
    private Integer isDel;

}
